home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)ze.d64
/
txt.no basic
< prev
next >
Wrap
Text File
|
2007-03-01
|
3KB
|
119 lines
┬┴╙╔├ IS NO LONGER A DIRECT COMMAND
-----------------------------------
BY ─ICK ╦LINGENS, ─UTCH ├╧═┴╠ ╒SERS
╟ROUP
┬Y USING THE CARTRIDGE IT IS POSSIBLE
TO SWITCH TO A PROGRAMMING CODE
CALLED ┬┴╙╔├ (┬LOODY ┴WFULL ╙TUDENTS
╔NTRODUCTION TO ├OMPUTING).
╘YPE THE ├╧═┴╠ COMMAND
BASIC
AND BRAIN DAMAGE IS NO LONGER
EVITABLE. ┼SPECIALLY IN EDUCATIONAL
ENVIRONMENT ONE MUST AVOID THIS.
╫HEN ONE OF MY PUPILS WAS USING AN
INTRODUCTORY PROGRAM IN WHICH HE HAD
TO TYPE IN PROCEDURE NAMES AS
COMMANDS, HE DISCOVERED THAT 'BASIC'
WAS A COMMAND AFTER WHICH HE WAS ABLE
TO WORK WITHOUT PROGRAM'S CONTROL AND
IN THE SAME WAY AS HE DID AT HOME:
NOT STRUCTURED, USING ╟╧╘╧'S, LEAVING
OUT ╥┼╘╒╥╬ STATEMENTS IN SUBROUTINES,
E.S.O.
╔ DECIDED TO DEVELOP A PACKAGE AND
LINK THAT TO MOST OF MY EDUCATIONAL
PROGRAMS MAKING IT IMPOSSIBLE TO USE
THE FOLLOWING COMMANDS:
┬┴╙╔├
╬┼╫
─╔╙├┴╥─
╔F ONE OF THE COMMANDS IS GIVEN, A
TEXT IS PROMPTED:
TYPE CODE:
AND IF THE CODE DOES NOT MATCH
ERROR IN CODE, RESET
╘HE PACKAGE (MODULE) IS STORED IN THE
FILE 'OBJ.NOTBASIC' AND LINKED TO THE
PROGRAM 'EXAM.NOTBASIC'. ╘HE CODE
USED IN THE PACKAGE IS
CML80
IN LOWER CASE CHARACTERS.
╙OME INFORMATION ON THE MODULE
FOLLOWS NOW. ╘HE MODULE CONTAINS NO
PACKAGES. ╚OWEVER, THERE IS A SIGNAL
ROUTINE. ╘HIS ROUTINE DETECTS WHETHER
ONE OF THE FORBIDDEN COMMANDS IS
USED:
SIGNAL CPY #DSCRD ;IF DISCARD COMMAND
BNE INCODE ; THEN GOTO INCODE
CPY #NEW ;IF NEW COMMAND
BNE INCODE ; THEN GOTO INCODE
CPY #BASIC ;IF BASIC COMMAND
BNE INCODE ; THEN GOTO INCODE
RTS ;RETURN TO COMAL
╘HE ROUTINE ╔╬├╧─┼ STARTS WITH
DISABLING <STOP>+<RESTORE>:
INCODE LDA #TRUE
STA NOREST
THEN THE PROMPT IS PRINTED
LDA #<TEXT
LDX #>TEXT
JSR PRTEXT ;EXEC PRTEXT
JSR READ ;EXEC READ
AND AFTER READING THE CORRECT CODE,
<RESTORE> IS ENABLED:
LDA #FALSE ;BACK TO COMAL
STA NOREST ; BECAUSE CODE
RTS ; IS CORRECT
╘HE ROUTINE ╥┼┴─ CHECKS WHETHER THE
TYPED CODE MATCHES WITH THE CODE IN
THE MODULE. ╔F NOT, THE MODULE FORCES
A RESET BY:
LOOP JMP LOOP
┴SSEMBLING THE MODULE DOES NOT
REQUIRE READING THE FILE ├64╙┘═┬
BECAUSE ALL SYMBOLS USED ARE DEFINED
AT THE BEGINNING OF THE MODULE:
FALSE =0
TRUE =1
DEFPAG =%01000110 ;MEMORY MAP
DIS =8 ;DISABLE SHIFT+├=
CR =13 ;CARRIAGE RETURN
LOWER =14 ;LOWER CASE CHARS
TEMP =$0055 ;TEMPORARY STORAGE
INDEX =$00FB ;PRTEXT POINTER
NOREST =$C841 ;NO RESTORE
CWRT =$CA06 ;CHARACTER WRITE
SCAN =$FFE4 ;KEYBOARD ROUTINE
DSCRD =3 ;SIGNAL FOR DISCARD
NEW =4 ;SIGNAL FOR NEW
BASIC =11 ;SIGNAL FOR BASIC